Layered datacenter components

ABSTRACT

Systems and methods for handling resources in a computer system differently in certain situations, such as catastrophic events, based upon an assigned layer of the resource in the system. The layer can be based, for example, on criticality of the resource to the system. Services or devices can be assigned a criticality level representing a layer. The different layers can be treated differently in the case of an event, such as fire, a power outage, an overheating situation and so forth. In response to receiving information about such an event, the different layers can be handled in accordance with their criticality.

BACKGROUND

A datacenter is a facility used to house a collection of computerservers and associated components, typically network hardware. Thecollection of computer servers is often called a “server cluster” or“server farm,” and is designed to accomplish server needs far beyond thecapability of a single machine. The networking hardware typicallyincludes network switches and/or routers which enable communicationbetween the different parts of the server farm and the users of theserver farm.

Server farms are commonly used for cluster computing, web services,remote data storage, web hosting and other web services. Server farmsare increasingly being used by enterprises instead of, or in additionto, mainframe computers. As a result, it is a common expectation that adatacenter's computer resources be available, even in times ofcatastrophic events.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments in accordance with the present disclosure will bedescribed with reference to the drawings, in which:

FIG. 1 is a block diagram of an illustrative datacenter environmentincluding a management component in accordance with embodiments.

FIG. 2 is a block diagram of an illustrative datacenter hierarchyincluding datacenter components in accordance with embodiments.

FIG. 3 is a flow diagram of an illustrative process for handlingdatacenter components in accordance with embodiments.

FIG. 4 is a block diagram representing a hierarchy of layers ofdatacenter components in accordance with embodiments.

FIG. 5 is a flow diagram representing a process for setting states ofdatacenter components in accordance with embodiments.

FIG. 6 is a block diagram representing segregation of datacentercomponents in accordance with embodiments.

FIG. 7 is a block diagram representing indicators for providing layerinformation regarding datacenter components in accordance withembodiments.

FIG. 8 illustrates an environment in which various embodiments can beimplemented.

DETAILED DESCRIPTION

In the following description, various embodiments will be described. Forpurposes of explanation, specific configurations and details are setforth in order to provide a thorough understanding of the embodiments.However, it will also be apparent to one skilled in the art that theembodiments may be practiced without the specific details. Furthermore,well-known features may be omitted or simplified in order not to obscurethe embodiment being described.

Generally described, the present disclosure relates to the management ofcomputing device resources, such as datacenter components in adatacenter. Embodiments herein are directed to treating resourcesdifferently in certain situations, such as catastrophic events, basedupon the criticality of the resource to the system.

As an example, services or devices can be assigned a criticality levelrepresenting a layer, such as 1, 2, 3 and so forth. The different layerscan be treated differently in the case of an event, such as fire, apower outage, an overheating situation and so forth. In response toreceiving information about such an event, the different layers can behandled in accordance with their criticality. As an example, as in thecase of a power outage, battery resources can be allocated to a moreimportant layer or layers and less important layers can be gracefullyshut down and/or slowed down. In embodiments, one or more criticalitythresholds can be defined, above which all layers are treated the same(e.g., allowed to continue to operate) and below which all layers aretreated in another manner (e.g., run at a slower processor state). As anexample, in a power outage, layer 1 and 2 computing device resources mayremain active, whereas layer 3 and lower layers can be shut down orslowed down.

In alternate embodiments, multiple thresholds can be defined above andbelow which layers are treated differently. In additional embodiments,each layer of criticality can be handled differently in the case of anevent. In the case of additional events, operation of layers can bechanged again to reflect new conditions.

In addition, in embodiments, services or computing device resources canbe physically segregated in accordance with layers and can be managed inaccordance with the segregation. As an example, critical layers can befenced off or otherwise made not available except to users with secureclearance or authorization.

In addition, a light or other indicator (visual, auditory, sensory orotherwise) can be provided for indicating that a datacenter component isin a particular layer. The indicators can be at a device level, racklevel and/or room or area level. In embodiments, only critical layersmay have an indicator. In other embodiments, each layer may have adifferent light (e.g., red for layer 1, blue for layer 2, green forlayer 3) and so forth.

Services can be segregated so that all services on a single computingdevice and/or on a rack of computing devices are at the same layer.Multiple racks having the same layer may be segregated to a single areaof a datacenter, such as a room, for example. If desired, securitylevels can be set within a datacenter so that technicians without accessprivileges do not have access to more critical order layers.

If a single device includes services at different layers, the serviceson that single device can be treated in a different manner during orafter an event. For example, one service can be shut down while anotherremains active.

In embodiments, in response to an event, some layers can be set atslower processing states, such as higher P states, or set to inactiveusing higher C-states. As examples, some layers can be made less activeas a result of an event, such as a disruption to power distribution oroverheating of a room. Making some layers less active results in lesspower use and/or heat generation. Also, as described above, instead ofslowing down a component, a graceful shutdown of the component may occursuch as through server hibernation or operating system (OS) shutdown.

Embodiments herein can be used in any environment utilizing multiplecomponents, but for ease of description, a datacenter is described.Embodiments herein are directed primarily to management of hardwarecomponents that are connected together by a network and that share acommon resource, such as power or cooling capability. By “components,”we mean both hardware and software components, thus including bothdevices and services. Thus, as part of management, multiple services canreside on a same device and can be handled differently. Alternatively oradditionally, a device can be handled in accordance with an assignedlayer, regardless of whether services that are assigned different layersare located on the device. In one embodiment, the server hardware can beassigned a layer that is equal or more critical than the most criticalservice operating on the server hardware.

An example datacenter environment or datacenter 100 is shown in FIG. 1.The datacenter 100 includes a management component 101, multipledatacenter components 103, sensors 105, a data store 107 and a clientdevice 109. The various components may communicate via a network 108. Insome embodiments, the datacenter 100 may include additional or fewercomponents than those illustrated in FIG. 1. For example, the number ofdatacenter components 103 may vary substantially; there may be nosensors 105 and so forth. Typically, components of the datacenter 100are located in a single building or connected buildings, but one or moreof the components, such as the management component 101 and/or theclient device 109, can be located remote of the datacenter buildingcomplex and can be accessed remotely via the network 108.

The management component 101 can receive data from a number of sources,correct errors and reconcile data from one source to that of another,maintain and/or retrieve layer information about components in thesystem, generate instructions on handling of components and respond toqueries from the client device 109. For example, the managementcomponent 101 may receive data regarding the datacenter components 103and operational characteristics of the datacenter components directlyfrom the datacenter components, from the sensors 103, from the datastore 107, from data entry (e.g., via the client device 109), or fromsome other source. As described below, the data may indicate thelocation, power system connectivity or status, temperature, batterycondition or status, or other relative information about the datacenterand the various datacenter components 103. The management component 101can reconcile the data received from the disparate sources (e.g.,temperature data from a sensor integrated with a datacenter component103 against data from an independent sensor 105 nearby) and generateinstructions for handling the datacenter components 103. In someembodiments, the management component 101 can generate an alert torequest human interaction with the device, for example in accordancewith a playbook. In other embodiments, the management component 101 cangenerate instructions that are received by the datacenter component 103to cause the datacenter component to react accordingly, e.g., to changestate and/or operation.

The management component 101 and/or the client device 109 can becomputing devices, such as server computers or desktop computers,configured with various hardware and software modules to implement theprocesses described herein. In addition, the management component 101and/or the client device 109 can be physically located within adatacenter and thus may also be operating on datacenter components 103.In some embodiments, the management component 101 or the client device109 may be remote from the datacenter. If desired, the managementcomponent can be integrated with the client device 109 or physicallyco-located on the same computing device.

A user, such as a datacenter administrator or technician, can use theclient device 109 to assign layers to datacenter components 103 andassign criticality to the layers that are managed by the managementcomponent 101. Layer and/or criticality information can also beautomatically associated with particular datacenter components 103. Forexample, network hardware can always be assigned the highest level ofcriticality. In addition, criticality can be related to the component'srelative connectivity to other components. For example, “core routers”are higher criticality than top-of-rack switches, even though they mayall be the same kind of switch. The difference can inferredautomatically based on the logical or physical connectivity of theswitch to other devices in the network. The management component 101 canstore this information, for example in the data store 107 and, uponreceiving information about an event, such as a power outage, can handleor otherwise instruct the datacenter components 103 to be handled inaccordance with their layer criticality.

FIG. 2 illustrates an example of datacenter components 103 that may bemonitored by the management component 101 of FIG. 1, or some othercomponent. The various datacenter components 103 may be included inimplementation of the datacenter 100 to provide computing capacity,storage and other services to any number of customers or internal users.In some embodiments the datacenter 100 may have more or fewer componentsthan are illustrated in FIG. 2.

A datacenter 100 may be part of a larger computing system operated by anetwork computing provider that includes several datacenters 100 acrossany number of geographical areas. The various datacenters 100 maycommunicate via a network, which can be the network 108 or anothernetwork. The network may be a wide area network (WAN), a collection ofnetworks operated by distinct entities, such as the Internet, or someother network. The network computing provider can provide computing andstorage capacity to a single operator, such as a single enterprise, suchas a company or university. The computing services may include webhosting, data backup and mirroring, disaster prevention co-locations andthe like. In another embodiment, the network computing provider providessuch computing services and storage capacity to a variety of independentcustomers, such as a number of different business entities. In yetanother embodiment, the network computing provider can provide computingservices and storage capacity to users in the general public.

Customers may access the services on-demand or on a subscription basis.In some embodiments, the customers of the network computing provider mayspecify or select a particular computing device hardware and softwareconfiguration to use. Customers may then connect to a different physicalcomputing device which satisfies the chosen hardware configuration eachtime the customer initiates a computing session. Virtual machine imagesof the chosen software configuration may be dynamically loaded orinstantiated on a computing device as part of a computing sessioninitialization process. In some embodiments, the software may not be avirtual machine image and the computing device need not be a differentcomputing device for each computing session.

As illustrated in FIG. 2, a datacenter 100 may include any number ofrooms 102 in which computing devices and other datacenter components 103that provide the services described above, or which support componentswhich provide the services, are physically located. The datacenter 100may also include a cooling system 104, a power system 106 and a network108. For example, a datacenter 100 typically has a power system 106 thatconnects to a power source, such as the local power grid. The powersystem 106 may include a power generator for backup or as a primarypower source. The power system 106 provides power to the variousdatacenter components 103, including the cooling system 104, the network108 and also the rooms 102.

The various components 103 of the datacenter 100 may emit heat that canbe harmful to the function of the components themselves and to othercomponents nearby. Therefore, the datacenter 100 may include a coolingsystem 104, such as an air conditioner, that regulates the temperate ofthe datacenter 100 and its various rooms 102 and components. In someembodiments, a more powerful or more efficient cooling system 104 may beprovided instead of, or in addition to, an air conditioner. For example,some datacenters 100 may include a cooling loop that circulates chilledwater throughout the datacenter 100 and various rooms 102 thereof and acondenser or evaporative waterfall to cool the water after it hasabsorbed heat from the datacenter 100 components.

The datacenter components 103 associated with the datacenter 100 canalso communicate with each other and with components outside of thedatacenter 100 via a network 108. The network 108 can be provided by anumber of components, such as routers, switches, hubs and the like. Thenetwork 108 components may communicate via cables or wirelessly. Thenetwork 108 can provide connectivity between the various rooms 102 ofthe datacenter 100 and to one or more network links outside of thedatacenter 100, for example to the Internet or a WAN. In someembodiments, there may be several core switches and/or routers withwhich the network components of the various rooms 102 communicate toprovide redundancy and fault tolerance.

FIG. 2 is a block diagram representing a hierarchy of the datacenter 100in accordance with embodiments. Broadly described, as shown by thehierarchy in the drawing, the datacenter 100 includes rooms 102, whichin turn include racks 120. The racks 120 include servers 124 and/ornetwork components 126. The resources provided by the cooling system 104(i.e., heat removal), the power system 106 (i.e., power) and the network108 (i.e., data communication) are shared by at least some of thedatacenter components 103 and can be shared, as examples, at a givenhierarchy level (e.g., at a rack level, a room level, or for the entiredatacenter 100).

A room 102 of the datacenter 100 illustrated in FIG. 2 can encapsulate anumber of datacenter components 103 and further hierarchical levels. Forexample, a room 102 may include any number of racks 120 of computingdevices, a cooling system 104 component such as any number of computerroom air conditioning (CRAC) units 110, any number of power system 106components such as power distribution units (PDUs) 106 and any number ofnetwork components 114 in communication with the network 108 of thedatacenter 100.

The PDUs 112 may include one or more room-level PDUs 112 which eachserve power to several racks 120. In such cases the room-level PDUs 112may connect to rack-level PDUs 122 via cables and power whips. Therack-level PDUs 112 can then distribute power to the devices of the rack120 as described below. In addition, the room-level PDUs 112 can providepower to the CRAC unit 110 and the network components 114.

The network components 114 include room-level switches and/or routerswhich facilitate communication between the computing devices housed inthe racks 120, described below and the network 108 of the datacenter100. For example, a room-level switch 114 may facilitate communicationbetween computing devices on separate 120 racks within the same room.Additionally, the room-level switch 114 may, in combination with thecore routers of the datacenter 100, facilitate communication betweencomputing devices in different rooms 102, or even different datacenters100 and other computing devices outside the network computing providerenvironment.

A rack 120 may be any frame or enclosure capable of mounting one or moreservers or other computing devices. For example, the rack 120 can be afour-post server rack, a server cabinet, an open-frame two-post rack, aportable rack, a LAN rack, combinations of the same, or the like. Insome embodiments, the computing devices mounted on the rack 120 may benetworking components 126, such as switches or routers, instead of or inaddition to servers. For example, a datacenter room 102 may have, inaddition to racks 120 which contain servers 124, one or more racks 120which may contain any number of switches. In some embodiments, adatacenter room 102 may contain only one rack 120, or may contain zeroracks 120. For example, a datacenter room 102 may have servers 124embodied as one or more large-scale computing devices, such as computingappliances or midrange computers, which may not be grouped togetherphysically in a rack 120.

A rack 120 may also encapsulate a number of datacenter components 103and additional hierarchical levels, such as PDUs 122, servers 124 andnetwork components 126. For example, a rack 120 may include any numberof PDUs 122 and other datacenter components 103, such as power whips andthe like, for providing power from the room-level PDUs 112 to theservers 124 and network components 126 mounted in or associated with therack 120. The network components 126 of the rack 120 can includetop-of-rack (TOR) switches which provide network connectivity betweenthe room-level network components 114 and the servers 124. The networkcomponents 126 can also be powered by the rack-level PDUs 122.

Each server 124 can comprise additional datacenter components 103, eachof which may be monitored, such as a processing unit, a networkinterface, computer readable medium drive and a memory. The memorygenerally includes RAM, ROM and/or other persistent or non-transitorymemory and may contain a hypervisor for managing the operation andlifetime of one or more virtual machine (VM) instances. In someembodiments, the VM instances are also datacenter components 103 whichcan be assigned a layer and can be managed by the management component101 of FIG. 1. In other embodiments, application software or servicesoperating on other datacenter components 103 can also be considereddatacenter components that can be assigned layers and be managed by themanagement component 101. Thus, the management component 101 can managedevices and/or software, including software services such as VMs, inaccordance with the processes described herein.

As described above, servers 124 can be configured to host VMs at therequest of customers of the network computing provider operating thedatacenter 100. For example, a business entity may rent computing andstorage capacity from the network computing provider and may choose a VMconfiguration or have a VM machine image customized for their needs. Asingle server 124 may at any time have one, two, or (possibly many) moreVMs operating on behalf of customers, actively processing data,responding the customer requests and the like. In some embodiments, theVM's on a given server may be operating on behalf of one, two orpossibly many different customers. In some embodiments, the server 124need not host VMs and therefore the server 124 may not have a hypervisoror VMs in memory.

In operation, a customer may initiate processing on a server of thedatacenter 100 by transmitting network communications via the Internetto the datacenter 100. The communications can be routed through thenetwork 108 of the datacenter 100, passing through a core switch and toa room-level network component 114, such as a switch, of a particularroom 102. From there, the communications are passed to a rack 120, wherethey pass through a rack-level network component 126, such as a TORswitch, before ultimately arriving at a server 124. The server 124 maybe a fixed host which performs internal processing, such as routing thecommunication to another server 124 where a VM for the customer will belaunched to process the communication and provide the customer computingsession. As will be appreciated, such an operation can involveadditional communications sent over multiple rack-level networkcomponents 126, room-level network components 114 and components of thenetwork 108 of the datacenter 100 before arriving at a server 124 thatwill launch a VM for the customer in a different room 102 of thedatacenter 100.

The server 124 which launches the VM for the customer may receive power,through a power cable, from a rack-level PDU 122 of the rack 120 onwhich the server 124 is located. The rack-level PDU 122 may in turnreceive power through one or more “power whips” or cables from aroom-level PDU 112. The power may pass through any number of PDUs inbetween the rack-level PDU 122 and room-level PDU 112. The room-levelPDU 112 can draw power from the power system 106 of the datacenter 100.The power may come from another PDU or directly from an on-sitegenerator or power source, or from a link to the local power gridoutside of the datacenter 100. One or more battery backup units (BBUs)116 can be provided for use in a power failure. A BBU 116 can bededicated to a rack 120 of datacenter components 103, a singledatacenter component (e.g., connected to or associated with the PDU122), or more than one datacenter component, which can be located on oneor more racks.

Each datacenter component 103 involved in the illustrative communicationdescribed above can generate heat as the datacenter component 103transfers power or communications, or performs other computingoperations. Heat can cause the datacenter component 103 which generatesthe heat to become damaged or otherwise malfunction and similarly impactnearby components, such as wiring, servers 124, network components 126,114, PDUs 122, 112, etc. In order to dissipate the heat, a room-levelcomponent of the datacenter cooling system 104 may be used, such as aCRAC 110. In some embodiments, rack-level cooling units may also beimplemented, including fans, pipes carrying chilled water and the like.Either rack-level or room-level cooling components and systems may beconnected to a datacenter cooling system 104, such as a chiller loop. Aswill be appreciated, the cooling components of the datacenter 100 mayalso be coupled to the power system 106 of the datacenter 100, asdescribed above with respect the servers 124 (i.e., fans, compressorsand pumps typically require electrical power to operate). The sensors105 can be used to determine the amount of heat that needs to be removedfrom a room 102 and/or a rack 120 and/or datacenter components 103 caninclude their own heat sensors.

FIG. 3 is a process 300 for handling services or devices in accordancewith embodiments. Some or all of the process 300 (or any other processesdescribed herein, or variations and/or combinations thereof) may beperformed under the control of one or more computer systems configuredwith executable instructions and may be implemented as code (e.g.,executable instructions, one or more computer programs or one or moreapplications) executing collectively on one or more processors, byhardware or combinations thereof. The code may be stored on acomputer-readable storage medium, for example, in the form of a computerprogram comprising a plurality of instructions executable by one or moreprocessors. The computer-readable storage medium may be non-transitory.

At 302, criticality layers are assigned to datacenter components 103.These layers are based upon the criticality of the devices or servicesof the datacenter components 103 and may be input by a user at theclient device 109 (e.g., via a user interface or other selection orentry option) or may be automatically generated by the managementcomponent 101 based upon what the datacenter component is, for exampleautomatically assigning a highest layer to a network component 114 or126. In embodiments, the more critical datacenter component 103 is, themore important the layer that is assigned to the device or service.Alternatively or additionally, a client can purchase services from thedatacenter 100 and express the level of criticality of their workloadsoperating on the data center components. In some embodiments, theseclients may pay extra or otherwise trade default capabilities ofdatacenter components (e.g., computing resources assigned to a VM) inexchange for their assigned components being handled with highercriticality.

In the following examples, the highest criticality of servicesdesignated by the numeral “1” with increasing numbers representing lesscritical services. However, any designation can be used to representcriticality of a device or service.

As an example, FIG. 4 shows a hierarchy for datacenter components 103 inaccordance with embodiments. In these embodiments, layer 1 devices andservices in the datacenter will be those devices and services that aremost critical to operation of the datacenter. Examples of layer 1datacenter components 103 can be the pre-boot execution environment(PXE), Dynamic Host Configuration Protocol (DHCP) or other assignment ofInternet protocol (IP) addresses, network switch configuration servicesfor network components 114 and so forth. Typically, there are fewerlayer 1 datacenter components 103 than layer 2 and higher layers and thesmaller base in FIG. 1 generally represents the number of components inthat layer, with layer 1 being the base and others relying on highercriticality (lower layer number) or equal layer datacenter components103. Thus, in general, in the embodiment shown in FIG. 4, layer 2devices and services rely upon layer 1 or layer 2 devices and servicesfor operation and layer 3 devices and services rely on layer 2 and 1devices and services for operation and so forth. In addition, devicesand services can be dependent upon devices and services at the samelevel. However, this structure is not required and device and servicecriticality can be set by a user (e.g., an administrator) in accordancewith a preference instead of a need for a more critical layer. Forexample, in some embodiments, a “more critical” layer may takedependencies on a less critical layer by applying a variety ofresiliency techniques, such as relying on redundancy or limiting theimpact of particular failures through “fallback designs”. In someembodiments, customer expenditures, such as a one-time fee or recurringcharges, can be taken into account. As an example, as described above, aVM service may be set at a higher criticality based upon the price acustomer is paying for the VM service. This criticality can be set bymoving a datacenter component 103 to a more critical layer based upon acustomer expenditure, or moving a customer's service to a more criticallayer datacenter component 103.

As a result of the layers being assigned to the devices and services at302, a criticality level is assigned to each of the layers at 304. Thiscriticality level may be assigned as part of process of assigning thelayers in 302 and may be designated by numbers or other information. Theinformation regarding criticality levels is maintained for access by themanagement component 101, for example in the data store 105.

At 306, information is received, for example by the management component101, about an event. The event may be, for example, a power outage, alow voltage or amperage situation, cooling issues in the datacenter 100,a fire in the datacenter 100, or some other event. The information maycome from the sensors 105, the datacenter components 103, informationreceived from the network 108 or the client device 109, or anothersource. At 308, the services and/or devices are handled in accordancewith the criticality levels. As set forth above, different criticalitylevels can be treated differently depending on the event.

In general, the management component 101 manages use of a resource(e.g., power, heat removal, network bandwidth, etc.) that is used bymultiple datacenter components 103. The event that the managementcomponent receives can be that the resource is not maintaining portionsof the datacenter 100 within defined parameters. For example, part ofthe datacenter may be too hot, there can be insufficient power or apower failure, network resources may be down, etc. The managementcomponent 101 can respond to this altered condition by changingoperation of some of the datacenter components 103 to relieve theresource, for example by slowing down or shutting down some resources soas to reduce power consumption, heat production and/or network use.

As an example, in the case of a power outage and where the datacentergoes on battery backup prior to going onto generators, some lesscritical services and/or devices can be slowed down or shut down so asto preserve resources for the more critical devices. These features canallow the more critical datacenter components 103 to operate, as poweris preserved for those resources. If another event occurs, such as afailure of the generator to start after a prescribed period of time,then a different level can be set for datacenter components. In someembodiments, power failures may result in reduced cooling or networkcapacity, so other remedial workflows may be implemented to addressthese additional conditions which may likewise continue beyond the fullor partial restoration of operating power.

As another example, in a case of overheating, some services and/ordevices may be shut down or slowed down so that less cooling is neededfor the datacenter 100. In this example, the number of devices and/orservices that are shut down can depend upon information received fromthe sensors 105 regarding how much the datacenter 100 is overheated. Thedevices and/or services that are shut down can be specific to aparticular room 102. Thus, layers may be handled with respect to aparticular room 102, rack 120, or datacenter component 103. Levels cancontinue to change as the situation changes (e.g., layers can be moreactive as the room cools, or become even less active if the room getshotter). A particular room 102, rack 120, or datacenter component 103may be handled in accordance with the layers in that room, rack ordatacenter component. Thus, the management component 101 may handle onlya subset of devices or services in the datacenter 100 based oninformation received from the sensors 105 or other information receivedregarding power, heat, or other events. That subset can be based, forexample, on location of the datacenter components 103 in the datacenter100.

In other examples, the management component 101 can change the state ofa computing device (e.g., one of the datacenter components 103) tomodulate its processor(s) to slow down or shut down upon an event. Doingso would slow heat production by and/or power consumption of thecomputing device. In some embodiments, this might involve configuring oradjusting the processor performance state (P-state), processor operatingstate (C-state), processor sleep state (S-state), device power state(D-state), global system state (G-state) or similar power managementfeature where putting the system in a “higher state” (e.g., P3)typically consumes less power than at a “lower state” (e.g., P1).” Inembodiments, the management component 101 can provide information tochange the state of datacenter components 103 in a particular layer. Thedatacenter components 103 can also be limited to a particular area of adatacenter, such as a room 102 or a rack 120.

D-states are device power states and typically managed by a combinationof the server operating system (OS), device driver and/or devicefirmware. For example, putting a spinning magnetic hard drive into ahigher D-state may result in the hard drive “spinning down” until it isset back to DO/active. D-states are typically adjusted in conjunctionwith C-states to conserve overall system power when the platformwouldn't otherwise be actively processing anyway.

P-states are really sub-states of C-state 0 (C0)—i.e., the processor isalways in C0 when P-states impact anything in the processor. HigherP-state numbers typically represent slower processor speeds. Powerconsumption is lower at higher P-states. For example, a P3 state ishigher than a P1 state. A processor in P3 state will run at a lowerclock frequency (i.e. “slower”) and use less power than a processorrunning at P1 state. In higher C-states, the processor shuts downvarious internal functions—notably, instruction pipelines are “halted”even in C1 so it is not processing general purpose programs and onlyresponds to certain interrupts (for which it kicks the processor backinto C0 to service them). Higher C-states take longer to recover fromfor both electrical engineering reasons (e.g., adjustment time on PLLvoltage or reactivating processor clock) and also because processorstate is abandoned (e.g., caches are flushed and invalidated).

C-states are sub-states of S-state 0 (S0 “active”): C0 (operating),C1/C1E (halted), C3 (sleeping), C6/C7 (deep sleeping). Although C3-C7are frequently described as “sleep states”, the processor is considered“active” from an overall S-state perspective. S-states representdifferent degrees of sleep beyond this. Higher S-states put the platform(e.g., CPU package, voltage regulator, RAM) into progressively lowerpower states which likewise take progressively more time to return backto an active state. Under the hood, this corresponds to shutting downmore and more parts of the processor package, reducing RAM refreshrates, flushing more system state to persistent storage (e.g.,S4/“hibernate” flushes the RAM working set to disk), etc.

G-states are a logical concept of the overall state of the platform andtypically not a settable power state per se. G0 (“Working”) implies theprocessor is in S0. G1 means the processor is in a “sleep state”: S1,S2, S3 or S4. G2 implies S5 or “Soft Off”—basically, the system must befully booted to return it to an active state. G3 is “MechanicallyOff”—there is no power into the server and it cannot be booted untilpower is restored. G-states could be a convenient way to express powermanagement control logic of other state classes (e.g., S-states andD-states), Baseboard Management Control (BMC) functionality, etc.

As an alternative to changing the state of processor of a datacentercomponent 103, the performance and/or operation can be reduced by apercentage or some other measure. For example, a datacenter component103 can have operation reduced 50%, 25%, or any percentage that appearsto be sufficient to overcome the event. For example, if temperature issensed to be substantially above acceptable, some datacenter components103 can be reduced 75% in operation (slowed down this amount, or powerconsumption reduced by this amount), whereas others can be reduced less(e.g., 50%) if those others are in a more critical layer.

FIG. 5 shows a process 500 for handling datacenter components 103responsive to events and layers of the datacenter components inaccordance with embodiments. At 502, information is received about anevent, for example by the management component 101. In general, an eventis a situation where the datacenter 100 or portions of the datacenterare not operating in accordance with a set of nominal conditions. Theevent can be, for example, a change of temperature of a room 102 and/orat a rack 120 to outside defined conditions and/or a power outage orpower drop in the datacenter 100 or a room 102 of the datacenter belownominal conditions.

At 504, a strategy is determined for the event. The strategy isinformation about how to handle each layer of datacenter components 103responsive to the event. The datacenter components 103 that are relativecan depend upon the location of an event and can be particular to a room102, a rack 120, or the entire datacenter 100, as examples. Thestrategies are typically available prior to an event and can be input bya user at the client device 109, can be provided as a package toinstallers of datacenters, or can otherwise be available as a plan foraction in the case of an event. The strategies can be maintained in aplaybook, or can be stored in the data store 105 for access during anevent. The strategy for a particular event can include the same actionfor all layers, the same action at some layers but different at others,or can be different actions for each of the layers. Not necessarily alllayers will be impacted in a strategy. For example, some layers cancontinue to operate at a normal or existing state. One strategy can be,for example, to reduce power to layer 3 and 4 datacenter components 103to 25%, to layer 2 datacenter components 103 to 50% and layer 1datacenter components to 75%.

At 506, the layer information about the affected datacenter components103 is accessed. This layer information can be stored, for example, inthe data store 105. As discussed above, the layer information isgenerally information about a layer to which each of the datacentercomponents 103 is assigned. At 508, a determination is made if state isto be changed for a particular datacenter component 103. This decisionis made by evaluating the level of the datacenter component 103 obtainedat 506 and determining from the strategy obtained at 504 if the state ofthe datacenter component is to be changed. If the state is not to bechanged, then 508 branches to 510, where the service or device is keptat its current state. If the state is to be changed, then 508 branchesto step 512, where the service and/or device is adjusted to the lowerstate. The altered state can be, for example, a C-state sleep level, alower speed processing (higher P-state), or operation set to apercentage of full operation, such as at 50% power or 50% clockfrequency. In any event, operation then continues, with the datacentercomponents 103 now operating according to the new strategy.

If another event occurs, such as the temperature of a room 102 goingabove another level or does not return to acceptable levels within adetermined time period, then the process branches from 514 back to 502.A new strategy is then accessed and the affected datacenter components103 can be handled according to the new strategy. Until a new eventoccurs, 514 continues to loop.

As indicated above, the process in FIG. 5 could be utilized to adjustthe state of each of the layers of datacenter components 103, or canadjust the state of only a subset of the layers. For example, inresponse to an event, layer 1 devices can continue at normal state,layer 2 devices might be set to operate at P2, layer 3 devices at P3 andlayer 4 devices at C1.

Layer criticality can be used in other ways to manage the datacenter 100or data center component planning. For example in embodiments, thetopology/configuration of a datacenter can be arranged according tolayers, with groups of datacenter components 103 in the same layer beingplaced in the same location together. One or more of these layers can bemanaged because of their location, for example by having a more criticallayer (e.g., layer 1) in a locked area or cabinet with limited access.Likewise, more critical data center areas may have additional resources,such as redundantly supplied power, additional networking capability, ormore resilient cooling designs (e.g., employing volumes of high heatcapacitance Phase Change Materials that can provide a period of fan-onlycooling if CRAC units are inactive).

For example, as shown in FIG. 6, areas 600, 602 may be defined withinthe datacenter 100. The first area 600 includes racks 604 (e.g., theracks 120) and the second area includes the racks 606 (e.g., also theracks 120). The areas 600, 602 are separated from each other by a fence,walls, or some other structure. In the drawing, walls are shown aroundboth areas, but different embodiments may elide requirements forphysical barriers or provide only partial walls or barriers, employsecurity cameras or simply visual indicators of area segregation. In thedepicted embodiment of FIG. 6, the devices and/or services on the racks604 are a layer or layers that are more critical than the racks 606. Asan example, the area 600 may be all layer 1 components.

In embodiments, the racks 604 are segregated from the other racks 606due to their heightened criticality and therefore layer. A lock or othersecurity device 608 can be provided for the rooms 602 to preventtampering or otherwise altering the state of the room 602. The lock maybe a physical device, such as a deadbolt requiring key access, securitycameras, motion sensors or can be software security, requiring passwordauthorization or some other security level clearance for implementingthe processes described herein.

If a physical lock or other physical barrier is used for the securitydevice 608, technicians are prevented from turning off machines in anemergency situation, where panic or a lack of proper instructions maycause operators to shut down machines without following a particularprotocol. If the devices or services in the area 600 are critical tooperation of the datacenter 100, proper authorization, such as obtainingthe person who has a key or secured access authorization to themanagement component 101 would be required for shutting down thesecritical services or devices. As an alternative to the segregation ofracks 604, 606 in FIG. 6, devices or services can be separated by racks120, rooms 102 and/or datacenter components 103.

As an alternative to the physical segregation in FIG. 6, devices orservices can be separated by racks 120, rooms 102 and/or datacentercomponents 103 and indicators can be utilized to indicate a particularlayer of the room, rack or datacenter component. As an example, as shownin FIG. 7, three different sets 700, 702, 704 of racks 706, 708, 710include respective indicators 712, 714, 716 for providing an indicationof the particular level of layer for the devices and/or services in theracks 706, 708, 710. In embodiments, the indicators may be differentcolor LEDs on specific datacenter components 103. As an example, a layer1 datacenter component 103 could have a red light, a layer 2 datacentercomponent could have a blue light and a layer 3 datacenter componentcould have a green light. As an alternative, only particular layers mayinclude indicators. As an example, an indicator, such as a red light,may be provided only on layer 1 devices or services. This indicatorcould be, for example, a large red light on top of racks 120 thatinclude layer 1 datacenter component 103.

Thus, indicators can be used at any level (e.g., rack 120, room 102and/or datacenter component 103) to indicate a layer. Operators can usesuch indicators to react appropriately, for example in the case ofemergency. As an example, where a fire occurs in a portion of adatacenter and operators need to shut down some resources, thoseoperators can avoid shutting down layer 1 (or layer 1 and layer 2, etc.)resources in the datacenter 100 by observing and avoiding “red-lit”areas.

FIG. 8 illustrates aspects of an example environment 800 forimplementing aspects in accordance with various embodiments. As will beappreciated, although a Web-based environment is used for purposes ofexplanation, different environments may be used, as appropriate, toimplement various embodiments. The environment includes an electronicclient device 802, which can include any appropriate device operable tosend and receive requests, messages or information over an appropriatenetwork 804 and convey information back to a user of the device.Examples of such client devices include personal computers, cell phones,handheld messaging devices, laptop computers, set-top boxes, personaldata assistants, electronic book readers and the like. The network caninclude any appropriate network, including an intranet, the Internet, acellular network, a local area network or any other such network orcombination thereof. Components used for such a system can depend atleast in part upon the type of network and/or environment selected.Protocols and components for communicating via such a network are wellknown and will not be discussed herein in detail. Communication over thenetwork can be enabled by wired or wireless connections and combinationsthereof. In this example, the network includes the Internet, as theenvironment includes a Web server 806 for receiving requests and servingcontent in response thereto, although for other networks an alternativedevice serving a similar purpose could be used as would be apparent toone of ordinary skill in the art.

The illustrative environment includes at least one application server808 and a data store 810. It should be understood that there can beseveral application servers, layers, or other elements, processes orcomponents, which may be chained or otherwise configured, which caninteract to perform tasks such as obtaining data from an appropriatedata store. As used herein the term “data store” refers to any device orcombination of devices capable of storing, accessing and retrievingdata, which may include any combination and number of data servers,databases, data storage devices and data storage media, in any standard,distributed or clustered environment. The application server can includeany appropriate hardware and software for integrating with the datastore as needed to execute aspects of one or more applications for theclient device, handling a majority of the data access and business logicfor an application. The application server provides access controlservices in cooperation with the data store and is able to generatecontent such as text, graphics, audio and/or video to be transferred tothe user, which may be served to the user by the Web server in the formof HyperText Markup Language (“HTML”), Extensible Markup Language(“XML”) or another appropriate structured language in this example. Thehandling of all requests and responses, as well as the delivery ofcontent between the client device 802 and the application server 808,can be handled by the Web server. It should be understood that the Weband application servers are not required and are merely examplecomponents, as structured code discussed herein can be executed on anyappropriate device or host machine as discussed elsewhere herein.

The data store 810 can include several separate data tables, databasesor other data storage mechanisms and media for storing data relating toa particular aspect. For example, the data store illustrated includesmechanisms for storing production data 812 and user information 816,which can be used to serve content for the production side. The datastore also is shown to include a mechanism for storing log data 814,which can be used for reporting, analysis or other such purposes. Itshould be understood that there can be many other aspects that may needto be stored in the data store, such as for page image information andto access right information, which can be stored in any of the abovelisted mechanisms as appropriate or in additional mechanisms in the datastore 810. The data store 810 is operable, through logic associatedtherewith, to receive instructions from the application server 808 andobtain, update or otherwise process data in response thereto. In oneexample, a user might submit a search request for a certain type ofitem. In this case, the data store might access the user information toverify the identity of the user and can access the catalog detailinformation to obtain information about items of that type. Theinformation then can be returned to the user, such as in a resultslisting on a Web page that the user is able to view via a browser on theuser device 802. Information for a particular item of interest can beviewed in a dedicated page or window of the browser.

Each server typically will include an operating system that providesexecutable program instructions for the general administration andoperation of that server and typically will include a computer-readablestorage medium (e.g., a hard disk, random access memory, read onlymemory, etc.) storing instructions that, when executed by a processor ofthe server, allow the server to perform its intended functions. Suitableimplementations for the operating system and general functionality ofthe servers are known or commercially available and are readilyimplemented by persons having ordinary skill in the art, particularly inlight of the disclosure herein.

The environment in one embodiment is a distributed computing environmentutilizing several computer systems and components that areinterconnected via communication links, using one or more computernetworks or direct connections. However, it will be appreciated by thoseof ordinary skill in the art that such a system could operate equallywell in a system having fewer or a greater number of components than areillustrated in FIG. 8. Thus, the depiction of the system 800 in FIG. 8should be taken as being illustrative in nature and not limiting to thescope of the disclosure.

The various embodiments further can be implemented in a wide variety ofoperating environments, which in some cases can include one or more usercomputers, computing devices or processing devices which can be used tooperate any of a number of applications. User or client devices caninclude any of a number of general purpose personal computers, such asdesktop or laptop computers running a standard operating system, as wellas cellular, wireless and handheld devices running mobile software andcapable of supporting a number of networking and messaging protocols.Such a system also can include a number of workstations running any of avariety of commercially-available operating systems and other knownapplications for purposes such as development and database management.These devices also can include other electronic devices, such as dummyterminals, thin-clients, gaming systems and other devices capable ofcommunicating via a network.

Most embodiments utilize at least one network that would be familiar tothose skilled in the art for supporting communications using any of avariety of commercially-available protocols, such as TransmissionControl Protocol/Internet Protocol (“TCP/IP”), Open SystemInterconnection (“OSI”), File Transfer Protocol (“FTP”), Universal Plugand Play (“UpnP”), Network File System (“NFS”), Common Internet FileSystem (“CIFS”) and AppleTalk. The network can be, for example, a localarea network, a wide-area network, a virtual private network, theInternet, an intranet, an extranet, a public switched telephone network,an infrared network, a wireless network and any combination thereof.

In embodiments utilizing a Web server, the Web server can run any of avariety of server or mid-layer applications, including HypertextTransfer Protocol (“HTTP”) servers, FTP servers, Common GatewayInterface (“CGI”) servers, data servers, Java servers and businessapplication servers. The server(s) also may be capable of executingprograms or scripts in response requests from user devices, such as byexecuting one or more Web applications that may be implemented as one ormore scripts or programs written in any programming language, such asJava®, C, C# or C++, or any scripting language, such as Perl, Python orTCL, as well as combinations thereof. The server(s) may also includedatabase servers, including without limitation those commerciallyavailable from Oracle®, Microsoft®, Sybase® and IBM®.

The environment can include a variety of data stores and other memoryand storage media as discussed above. These can reside in a variety oflocations, such as on a storage medium local to (and/or resident in) oneor more of the computers or remote from any or all of the computersacross the network. In a particular set of embodiments, the informationmay reside in a storage-area network (“SAN”) familiar to those skilledin the art. Similarly, any necessary files for performing the functionsattributed to the computers, servers or other network devices may bestored locally and/or remotely, as appropriate. Where a system includescomputerized devices, each such device can include hardware elementsthat may be electrically coupled via a bus, the elements including, forexample, at least one central processing unit (“CPU”), at least oneinput device (e.g., a mouse, keyboard, controller, touch screen orkeypad) and at least one output device (e.g., a display device, printeror speaker). Such a system may also include one or more storage devices,such as disk drives, optical storage devices and solid-state storagedevices such as random access memory (“RAM”) or read-only memory(“ROM”), as well as removable media devices, memory cards, flash cards,etc.

Such devices also can include a computer-readable storage media reader,a communications device (e.g., a modem, a network card (wireless orwired), an infrared communication device, etc.) and working memory asdescribed above. The computer-readable storage media reader can beconnected with, or configured to receive, a computer-readable storagemedium, representing remote, local, fixed and/or removable storagedevices as well as storage media for temporarily and/or more permanentlycontaining, storing, transmitting and retrieving computer-readableinformation. The system and various devices also typically will includea number of software applications, modules, services or other elementslocated within at least one working memory device, including anoperating system and application programs, such as a client applicationor Web browser. It should be appreciated that alternate embodiments mayhave numerous variations from that described above. For example,customized hardware might also be used and/or particular elements mightbe implemented in hardware, software (including portable software, suchas applets) or both. Further, connection to other computing devices suchas network input/output devices may be employed.

Storage media and computer readable media for containing code, orportions of code, can include any appropriate media known or used in theart, including storage media and communication media, such as but notlimited to volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage and/or transmissionof information such as computer readable instructions, data structures,program modules or other data, including RAM, ROM, Electrically ErasableProgrammable Read-Only Memory (“EEPROM”), flash memory or other memorytechnology, Compact Disc Read-Only Memory (“CD-ROM”), digital versatiledisk (DVD) or other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices or any othermedium which can be used to store the desired information and which canbe accessed by the a system device. Based on the disclosure andteachings provided herein, a person of ordinary skill in the art willappreciate other ways and/or methods to implement the variousembodiments.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the invention asset forth in the claims.

Other variations are within the spirit of the present disclosure. Thus,while the disclosed techniques are susceptible to various modificationsand alternative constructions, certain illustrated embodiments thereofare shown in the drawings and have been described above in detail. Itshould be understood, however, that there is no intention to limit theinvention to the specific form or forms disclosed, but on the contrary,the intention is to cover all modifications, alternative constructionsand equivalents falling within the spirit and scope of the invention, asdefined in the appended claims.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosed embodiments (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including,”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. The term“connected” is to be construed as partly or wholly contained within,attached to, or joined together, even if there is something intervening.Recitation of ranges of values herein are merely intended to serve as ashorthand method of referring individually to each separate valuefalling within the range, unless otherwise indicated herein and eachseparate value is incorporated into the specification as if it wereindividually recited herein. All methods described herein can beperformed in any suitable order unless otherwise indicated herein orotherwise clearly contradicted by context. The use of any and allexamples, or exemplary language (e.g., “such as”) provided herein, isintended merely to better illuminate embodiments of the invention anddoes not pose a limitation on the scope of the invention unlessotherwise claimed. No language in the specification should be construedas indicating any non-claimed element as essential to the practice ofthe invention.

Preferred embodiments of this disclosure are described herein, includingthe best mode known to the inventors for carrying out the invention.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate and the inventors intend for the invention to be practicedotherwise than as specifically described herein. Accordingly, thisinvention includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the invention unlessotherwise indicated herein or otherwise clearly contradicted by context.

All references, including publications, patent applications and patents,cited herein are hereby incorporated by reference to the same extent asif each reference were individually and specifically indicated to beincorporated by reference and were set forth in its entirety herein.

What is claimed is:
 1. A computer-implemented method for managingdatacenter components in a datacenter, comprising: under the control ofone or more computer systems configured with executable instructions,maintaining information about a plurality of physical datacentercomponents in a datacenter and a plurality of layers of the physicaldatacenter components, each of the physical datacenter componentscomprising a computing device performing at least one of a plurality ofservices, the plurality of services comprising services related to thefunctioning of the datacenter; detecting, for each service in theplurality of services, a criticality of the service based in part onuser input and in part on dependencies between the service and otherservices of the plurality of services with respect to the datacenter,such that a first service which is depended upon by a second service inthe functioning of the datacenter is assigned a higher criticality thanthe second service; segregating a number of services of the plurality ofservices to each physical datacenter component, such that only serviceshaving the same criticality are implemented on each physical datacentercomponent; detecting, for each physical datacenter component in theplurality of physical datacenter components, dependencies between thephysical datacenter component and other physical datacenter componentsbased at least in part on services implemented on the physicaldatacenter components; automatically assigning, to each of the physicaldatacenter components, one of the plurality of layers, the assigningbased at least in part on a criticality of the services implemented onthe physical datacenter component and based at least in part on thedetected dependencies between the physical datacenter component in theplurality of physical datacenter components and other physicaldatacenter components, such that a given physical datacenter componentis assigned to a layer that depends for operation only upon physicaldatacenter components assigned to an equally critical or a more criticallayer; determining, for each of the plurality of layers, an amount ofusage for a resource, the amount of usage for the resource beingdetermined as a function of the physical datacenter components assignedto each layer; defining a number of criticality thresholds, each of thecriticality thresholds defined so that a first set of the plurality oflayers are associated with a criticality higher than the criticalitythreshold and a remaining set of the plurality of layers are associatedwith a criticality lower than the criticality threshold; receivinginformation about an event related to the datacenter, the event beingone that impacts an amount of the resource available; determining, basedon the amount of usage for the resource for each of the plurality oflayers with respect to the amount of the resource available, a highestcriticality threshold of the number of criticality thresholds associatedwith the event; and in response to determining the highest criticalitythreshold associated with the event, providing information for handlingeach of the plurality of physical datacenter components in accordancewith the assigned layer for the respective physical datacentercomponent, wherein the information for handling each of the plurality ofphysical datacenter components comprises changing a power state of eachof the physical datacenter components assigned to the remaining set ofthe plurality of layers for the highest criticality threshold to a lessactive state.
 2. The computer-implemented method of claim 1, furthercomprising, prior to maintaining information, receiving the informationfrom a client device.
 3. The computer-implemented method of claim 1,wherein, as a result of a customer expenditure, a particular physicaldatacenter component associated with the customer is assigned adifferent layer.
 4. A computer-implemented method for managingcomponents in a computing environment, comprising: under the control ofone or more computer systems configured with executable instructions, inresponse to receiving information about an event in a computingenvironment which impacts an amount of a resource available to thecomputing environment, the computing environment comprising a network ofa plurality of physical computer components sharing the resource, theinformation regarding operation of the resource, accessing informationabout the plurality of physical computer components in the computingenvironment and a plurality of layers, each of the plurality of physicalcomputer components comprising a computing device performing at leastone of a plurality of services; detecting, for individual services inthe plurality of services, a criticality of the individual service basedin part on dependencies between the individual service and otherservices of the plurality of services, the plurality of servicescomprising services related to the functioning of the computingenvironment, such that a first individual service which is depended uponby a second individual service in the functioning of the computingenvironment is assigned a higher criticality than the second individualservice; implementing a number of services of the plurality of serviceson the physical computer components, such that only services having thesame criticality are implemented on an individual physical computercomponent; detecting, for each physical computer component in thecomputing environment, dependencies between the physical computercomponent and other physical computer components based at least in parton services performed by the physical computer components; automaticallyassigning, to each of the plurality of physical computer components, oneof the plurality of layers, the assigning based at least in part oncriticality of the physical datacenter component and based at least inpart on the detected dependencies between services implemented on thephysical computer component and services implemented on other physicalcomputer components, such that a given physical computer componentdepends for operation only upon physical computer components assigned toan equally critical or a more critical layer; determining, for each ofthe plurality of layers, an amount of usage of the resource, the amountof usage of the resource being determined as a function of the physicalcomputer components assigned to the layer; identifying, based on theamount of usage of the resource for each of the plurality of layers withrespect to the amount of the resource available, a highest criticalitythreshold of a number of criticality thresholds, each of the criticalitythresholds defined so that a first set of the plurality of layers areassociated with a criticality higher than the criticality threshold anda remaining set of the plurality of layers are associated with acriticality lower than the criticality threshold; and providinginformation for handling each of the plurality of computer components inaccordance with the assigned layer for the computer component, whereinthe information for handling each of the plurality of physical computercomponents comprises changing a power state of each of the physicalcomputer components assigned to the remaining set of the plurality oflayers to a less active state.
 5. The computer-implemented method ofclaim 4, wherein the information for handling comprises informationabout a playbook for one or more operators to handle the computercomponents.
 6. The computer-implemented method of claim 4, wherein atleast one of said plurality of physical computer components comprises adevice configured to perform a service.
 7. The computer-implementedmethod of claim 4, wherein the one of the plurality of layers isassigned based, at least in part, on a client expenditure for aparticular physical computer component.
 8. The computer-implementedmethod of claim 4, wherein the resource is power and wherein handlingcomprises reducing power consumption of at least some of the physicalcomputer components in accordance with the layers.
 9. Thecomputer-implemented method of claim 4, wherein the resource is heatremoval and wherein handling comprises reducing power consumption of atleast some of the physical computer components in accordance with thelayers so as to reduce heat production by said at least some of thephysical computer components.
 10. A datacenter environment, comprising:a plurality of datacenter components, each of the plurality ofdatacenter components comprising a computing device performing at leastone of a plurality of services, the plurality of services comprisingservices related to the functioning of the datacenter environment; adata store for maintaining information about the plurality of physicaldatacenter components and a plurality of layers, the informationincluding, for each of the plurality of datacenter components, anassigned one of the plurality of layers for the datacenter component;and a management component, comprising: at least one memory that storescomputer-executable instructions; and at least one processor configuredto access the at least one memory, wherein the at least one processor isconfigured to execute the computer-executable instructions tocollectively at least: detect, for individual services in the pluralityof services, a criticality of the individual service based in part ondependencies between the individual service and other services of theplurality of services with respect to the datacenter environment, suchthat a first service which is depended upon by a second service in thefunctioning of the datacenter environment is assigned a highercriticality than the second service; implement a number of services ofthe plurality of services on the physical datacenter components, suchthat only services having the same criticality are implemented on anindividual physical datacenter component; detect, for each physicaldatacenter component of the plurality of physical datacenter components,dependencies between the physical datacenter component and otherphysical datacenter components based at least in part on servicesperformed by the physical datacenter components; automatically assign,to each physical datacenter component of the plurality of physicaldatacenter components, a layer of the plurality of layers based, atleast in part, upon a criticality of the physical datacenter componentsto the datacenter environment and services implemented on the physicaldatacenter components, such that a given physical datacenter componentdepends for operation only upon physical datacenter components assignedan equally critical or a more critical layer; determine, for each of theplurality of layers, an amount of usage for a resource, the amount ofusage for the resource being determined as a function of the physicaldatacenter components assigned to each layer; and in response toreceiving information about an event in the datacenter environment thatimpacts an availability of the resource: identify, based on the amountof usage of the resource for each of the plurality of layers withrespect to the availability of the resource, a highest criticalitythreshold of a number of criticality thresholds, each of the criticalitythresholds defined so that a first set of the plurality of layers areassociated with a criticality higher than the criticality threshold anda remaining set of the plurality of layers are associated with acriticality lower than the criticality threshold; and access theinformation and provide information for handling each of the pluralityof physical datacenter components in accordance with the assigned layerfor the physical datacenter component, wherein the information forhandling each of the plurality of physical datacenter componentscomprises changing a power state of each of the physical datacentercomponents assigned to the remaining set of the plurality of layers to aless active state.
 11. The datacenter environment of claim 10, whereinat least one of said plurality of physical datacenter componentscomprises a physical datacenter component capable of performing aservice.
 12. The datacenter environment of claim 10, further comprisinga client device configured for a user to provide the information to thedata store.
 13. The datacenter environment of claim 10, wherein theevent is based, at least in part, on at least one of heating or powerissues in the datacenter environment.
 14. The datacenter environment ofclaim 10, further comprising at least one sensor in the datacenterenvironment, the sensor being configured to provide information about anevent.
 15. A computing environment, comprising: a plurality of physicalcomputer components, each of the plurality of physical datacentercomponents comprising a computing device performing at least one of aplurality of services, the plurality of services comprising servicesrelated to the functioning of the computing environment; and amanagement component, comprising: at least one memory that storescomputer-executable instructions; and at least one processor configuredto access the at least one memory, wherein the at least one processor isconfigured to execute the computer-executable instructions tocollectively at least: detect, for each service in the plurality ofservices, a criticality of the service based in part on user input andin part on dependencies between the service and other services of theplurality of services with respect to the computing environment, suchthat a first service which is depended upon by a second service in thefunctioning of the computing environment is assigned a highercriticality than the second service; segregate a number of services ofthe plurality of services to each physical computer component of theplurality of computer components, such that only services having thesame criticality are implemented on each physical computer component;detect, for each physical computer component of the plurality ofphysical computer components, dependencies between the physical computercomponent and other physical computer components based at least in parton services performed by the physical computer components; automaticallyassign, to each physical computer component of the plurality of physicalcomputer components, a layer of the plurality of layers based, at leastin part, upon criticality of the physical computer components to acomputing environment and based at least in part on services implementedon the physical computer components, such that a given physical computercomponent depends for operation only upon physical computer componentsassigned an equally critical or a more critical layer; determine, foreach of the plurality of layers, an amount of usage for a resourceconsumed by the plurality of physical computer components, the amount ofusage for the resource being determined as a function of the physicalcomputer components assigned to each layer; and in response to receivinginformation about an event in the computing environment that impacts theamount of the resource available to the computing environment, theinformation regarding operation of the resource: identify, based on theamount of usage of the resource for each of the plurality of layers withrespect to the amount of the resource available, a highest criticalitythreshold of a number of criticality thresholds, each of the criticalitythresholds defined so that a first set of the plurality of layers areassociated with a criticality higher than the criticality threshold anda remaining set of the plurality of layers are associated with acriticality lower than the criticality threshold; access informationabout the plurality of physical computer components in the computingenvironment and a plurality of layers, the information including, foreach of the plurality of physical computer components, an assigned oneof the plurality of layers for the physical computer component; andprovide information for handling each of the plurality of physicalcomputer components in accordance with the assigned layer for thephysical computer component, wherein the information for handling eachof the plurality of physical computer components comprises changing apower state of each of the physical computer components assigned to theremaining set of the plurality of layers to a less active state.
 16. Thecomputing environment of claim 15, further comprising a client device incommunication with the management component, and wherein the user inputis obtained by the management component from the client device.
 17. Thecomputing environment of claim 15, wherein the event is at least one ofa decrease in the amount of cooling resources available, or a decreasein the amount of power resources available in the computing environment.18. The computing environment of claim 15, further comprising at leastone sensor in the computing environment, the sensor being configured toprovide information about the computing environment to the managementcomponent, wherein the information about the computing environment isfurther used to identify the event.